/*
实验5-8 我爱背单词
分数 30
作者 陈越
单位 浙江大学

作为一个勤奋的学生，你在阅读一段英文文章时，是否希望有个程序能自动帮你把没有背过的生词列出来？本题就请你实现这个程序。
输入格式：

输入第 1 行给出 1 个正整数 n（2≤n≤10^3），为已经背下来的单词的数量。
接下来输入的每行是不超过 20 个字符的、仅由小写英文字母组成的单词。题目保证没有重复的单词。
最后是一段整理好的英文文章，文章仅包含不超过 20 个字符的、仅由小写英文字母组成的单词，单词间以 1 个空格分隔。
文章末尾以符号 # 表示结束，这个符号不属于文章的内容。题目保证文章中至少有 1 个生词，
且全文一共包含不超过 10^3 个单词。

输出格式：

找出每个没有背过的生词，按照其在文章中出现的顺序输出，每行输出一个生词。注意：每个生词只输出一遍，不要重复输出。
输入样例：

5
a
your
is
case
correct
this is a test case that test the correctness of your program #

输出样例：

this
test
that
the
correctness
of
program
*/

#include <iostream>
#include <vector>
#include <string>
#include <set>
#include <sstream>

using namespace std;

int main() {
    int n;
    cin >> n;
    set<string> words;
    for (int i = 0; i < n; i++) {
        string word;
        cin >> word;
        words.insert(word);
    }
    cin.get();
    string line;
    // getline(cin, line);
    getline(cin, line);
    istringstream iss(line);
    string word;
    while (iss >> word) {
        if (word == "#") {
            break;
        }
        if (words.find(word) == words.end()) {
            cout << word << endl;
            words.insert(word);
        }
    }
    return 0;
}